/**
 * Created by hejx on 2017/5/23.
 */
$(function () {
    initTable();
});

function doQuery(params){
    $('#demo-table').bootstrapTable('refresh');    //刷新表格
}

function initTable(){
    var url = "/admin/role/getRoleList?random="+Math.random();
    $('#demo-table').bootstrapTable({
        method:'POST',
        dataType:'json',
        contentType: "application/x-www-form-urlencoded",
        toolbar: '#toolbar', //可以在table上方显示的一条工具栏
        cache: false,
        striped: true,                              //是否显示行间隔色
        sidePagination: "client",           //分页方式：client客户端分页，server服务端分页（*）
        search:true,    //客户端查询
        searchOnEnterKey:true,  //设置为 true时，按回车触发搜索方法，否则自动触发搜索方法
        url:url,
        // height: $(window).height() - 110,
        // width:$(window).width(),
        showColumns:false,               //是否显示 内容列下拉框
        showExport: false,                     //是否显示导出
        exportDataType: "all",              //basic', 'all', 'selected'. 当前页、所有数据还是选中数据。
        pagination:true,    //设置为 true 会在表格底部显示分页条 默认false
        queryParams : queryParams,
        minimumCountColumns:10,             //当列数小于此值时，将隐藏内容列下拉框。
        pageNumber:1,                       //初始化加载第一页，默认第一页
        pageSize: 10,                       //每页的记录行数（*）
        pageList: [10, 25, 50, 100],        //可供选择的每页的行数（*）
        uniqueId: "pkId",                     //每一行的唯一标识，一般为主键列
        checkboxHeader: false,                  //设置false 将在列头隐藏check-all checkbox .
        singleSelect:true,         //设置True 将禁止多选
        selectItemName: "pkId",     //radio or checkbox 的字段名
        clickToSelect:true,        //设置true 将在点击行时，自动选择rediobox 和 checkbox
        //responseHandler: responseHandler,
        columns: [
            /**{
                field: '',
                title: 'Sort No.',
                formatter: function (value, row, index) {
                    return index+1;
                }
            },**/
            {
                field : '',
                title : '',
                checkbox: true
            },
            {
                field : 'pkId',
                title : '职位ID',
                align : 'center',
                valign : 'middle'
                //sortable : true
            }, {
                field : 'roleName',
                title : '职位名称',
                align : 'center',
                valign : 'middle'
                //sortable : true
            }, {
                field : 'roleDesc',
                title : '职位描述',
                align : 'center',
                valign : 'middle'
            }
            ]
    });
}

function queryParams(params) {
    var param = {
        orgCode : $("#orgCode").val(),
        keyword : $("#keyword").val(),
        limit : this.limit, // 页面大小
        offset : this.offset, // 页码
        pageindex : this.pageNumber,
        pageSize : this.pageSize
    }
    return param;
}

// 用于server 分页，表格数据量太大的话 不想一次查询所有数据，可以使用server分页查询，
// 数据量小的话可以直接把sidePagination: "server"  改为 sidePagination: "client"
// ，同时去掉responseHandler: responseHandler就可以了，
function responseHandler(res) {
    console.log("获取到列表数据");
    console.log(res);
    if (res) {
        return {
            "rows" : res.content,
            "total" : res.totalElements
        };
    } else {
        return {
            "rows" : [],
            "total" : 0
        };
    }
}